Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix several Cluster memory leaks #4546

Merged
merged 21 commits into from
May 17, 2024
Merged

Fix several Cluster memory leaks #4546

merged 21 commits into from
May 17, 2024

Conversation

JavierJF
Copy link
Collaborator

@JavierJF JavierJF commented May 14, 2024

This PR addresses some cluster memory leaks, and also takes the opportunity to:

  • Do some code cleanup on commented Cluster code from original implementation.
  • Fix several issues with some tests that were affecting the CI, specially reworked:
    • test_cluster_sync-t: Some timing related failures.
    • test_backend_conn_ping-t: No recent failures, but had issues in the past, reworked to avoid future problems.
    • eof_packet_mixed_queries-t: Recent replication related failures.
  • Fix uninitialized variable.
  • Add mitigation to prevent crashes during SHUTDOWN SLOW.
  • Add several mitigations to prevent crashes during fast exit (process termination) for DEBUG builds.
  • Fix several tests for ASAN builds with increased tolerances.

- Simplified memory managament in Cluster credentials API.
- Moved several variables into local scopes.
- Improved test documentation, including doc about ProxySQL backend
  connection pinging algorithm.
- Fixed math for working with different number of threads.
- Fixed estimations for number of backend connections that should be
  maintained, and test goal.
- Fixed test early return. The test original goal was monitoring the
  number of connections maintained during an interval, ensuring the
  behavior was consistent during multiple checks. Any early return or
  shortcut defeats this purpose, this has increased the test duration.
- Added more overloads for helper function 'ext_single_row_val'.
- Improved logging.
- Fix race condition on 'check_module_checksums_sync'.
- Replaced hardcoded value for CHECKSUM_SYNC_TIMEOUT in favor of
  computation.
- Added extra logging to synchronization checks.
- Improved logging on error handling.
- Fixed replication issues in the presence of query rules.
- Removed unused dependencies.
- Removed commented code.
@JavierJF
Copy link
Collaborator Author

Retest this please.

@JavierJF
Copy link
Collaborator Author

Retest this please.

@JavierJF JavierJF merged commit 50e9d9a into v2.x May 17, 2024
41 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant